Embodiments of the present invention apply to the field of software testing, more specifically to run testing.
Modern software development increasingly relies on automated software testing in an effort to improve software products without using significant developer and quality assurance personnel resources. Software development enterprises are installing entire server farms dedicated to automated product validation. Such product validation systems can perform millions of test per day.
However, there is a limit to the number of tests the product validation system can physically run. Furthermore, increasing the size and performance of the validation system carries additional expense and overhead. One method for reducing the number of tests is to run each test on only one member of a product “family.” A product family could be, for example, the different versions of the product designed for related operations systems.
While this method reduces the number of tests, it does not improve the efficiency of the testing, and it lowers the dependability of the tested product. Therefore, it would be desirable to improve the efficiency of a product validation system by having the system run higher-value tests more frequently than lower-value tests, thereby decreasing the number of tests run without compromising the effectiveness of the product validation system.